from typing_extensions import override

from . import FormatterInterface


class CSVFormatter(FormatterInterface):

    @override
    def format(self, knowledgeEntity: list) -> str:
        templete = "## CSV\n > 每一个键值是csv文件中的一个列名, 这些只是csv文件的一部分\n\n{entity}"
        return templete.format(
            entity="\n\n".join(
                f"{i+1}. {content}" for i, content in enumerate(knowledgeEntity)
            )
        )
